Skip to content

refactor(agc): name dbOlWdppb4o and vieBRwlh1Lw the _10000 interpolant mappings - #5848

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
wachi35676:refactor/libSceAgc-name-interpolant-mapping-10000
Oct 15, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
wachi35676:refactor/libSceAgc-name-interpolant-mapping-10000

Conversation

@wachi35676

Copy link
Copy Markdown
Contributor

What

Names the two libSceAgc stubs that were exported only by NID. The names hash to those NIDs with tools/nid_names.py:

sceAgcCreateInterpolantMapping_10000 dbOlWdppb4o
sceAgcUpdateInterpolantMapping_10000 vieBRwlh1Lw

They are the next versions of the existing sceAgcCreateInterpolantMapping_0100 / sceAgcUpdateInterpolantMapping_0100 pair (HV4j+E0MBHE, k0E7vkgqAuE), with a five-digit version suffix; neither name is in the aerolib NID list. As in #2319, the functions in Shader/src/InterpolantMapping.cpp are renamed and their APS5_EXPORT aliases dropped, so the NID patcher derives the same NIDs from the names. The behaviour is unchanged; tests/InterpolantMapping.cpp and the three docs/dev/debt/libSceAgc.md entries use the new names.

Partly addresses #2355: dbOlWdppb4o is called from nine sites in PPSA26344 (call-site evidence there); vieBRwlh1Lw is imported by PPSA12544 (#699, #3829).

Tested

Windows 11 26200, WinLibs GCC 15.2.0 UCRT, full build with BUILD_TESTING=ON on main 5a6ad0ed3 (rebased since onto caee23fd9; the touched files did not change).

  • Export table of the patched libSceAgc.prx before and after: dbOlWdppb4o and vieBRwlh1Lw are exported in both; the unpatched library now names them sceAgcCreateInterpolantMapping_10000 / sceAgcUpdateInterpolantMapping_10000, and the stray name-hash exports of the old placeholder names (JmwlWB9ikTs, iN76DQZU8TE) are gone.
  • agc_interpolant_mapping (CPU-only register test) and patched_libraries pass.
  • python tools/check_conventions.py --base origin/main passes.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Unblocks: none (names only; PPSA26344 TechnicalDebt evidence: PPSA26344 call sites for X+4jdIS75P0 and dbOlWdppb4o (unknown function info) #2355 and PPSA12544 already load with the NID exports)
  • GPUs tested: n/a (no GPU code path changes; only the register test ran)
  • AI-assisted: yes

🤖 Generated with Claude Code

…t mappings

The names hash to the NIDs dbOlWdppb4o and vieBRwlh1Lw that the exports
carried as sceAgcUnknownCreateInterpolantMapping and
sceAgcUnknown_vieBRwlh1Lw.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Progress report (caee23f → a0fc988)

➖ System libraries: 88.34% (+0.0%, +2 implemented, -2 removed functions)

✅ 2 implemented
Library Name
libSceAgc sceAgcCreateInterpolantMapping_10000
libSceAgc sceAgcUpdateInterpolantMapping_10000
🗑️ 2 removed
Library Name
libSceAgc sceAgcUnknownCreateInterpolantMapping
libSceAgc sceAgcUnknown_vieBRwlh1Lw

@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.

Pull request Shared files not compared
PR 5889 docs/dev/debt/libSceAgc.md
PR 6447 core/libs/prx/libSceAgc/Shader/src/InterpolantMapping.cpp
core/libs/prx/libSceAgc/tests/InterpolantMapping.cpp
docs/dev/debt/libSceAgc.md

@adriadam10 adriadam10 self-assigned this Oct 15, 2026
@adriadam10

Copy link
Copy Markdown
Collaborator

Checked that compute_nid of sceAgcCreateInterpolantMapping_10000 / sceAgcUpdateInterpolantMapping_10000 gives dbOlWdppb4o / vieBRwlh1Lw, no references to the old names remain, the dropped aliases no longer double-export, and the libSceAgc ctest subset (incl. agc_interpolant_mapping) passes on the merged tree; merging once the full Build is green.

@adriadam10
adriadam10 merged commit 8b99f01 into boykopovar:main Oct 15, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agc libSceAgc* docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants